[INFO] cloning repository https://github.com/Ianyourgod/c_to_urcl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ianyourgod/c_to_urcl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIanyourgod%2Fc_to_urcl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIanyourgod%2Fc_to_urcl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6fae6ed5961b3c7a58160740001012af46a9a940
[INFO] checking Ianyourgod/c_to_urcl against try#f4690f24e7d9bcb0b168a02b06dd61391e8bd55a for pr-157814-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIanyourgod%2Fc_to_urcl" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Ianyourgod/c_to_urcl
[INFO] finished tweaking git repo https://github.com/Ianyourgod/c_to_urcl
[INFO] tweaked toml for git repo https://github.com/Ianyourgod/c_to_urcl written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Ianyourgod/c_to_urcl on toolchain f4690f24e7d9bcb0b168a02b06dd61391e8bd55a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f4690f24e7d9bcb0b168a02b06dd61391e8bd55a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Ianyourgod/c_to_urcl already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f4690f24e7d9bcb0b168a02b06dd61391e8bd55a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7cf07dcec6eec8f91d8fcff9552b5c74122c05467aaf1800be6da9d6f61e2ab2" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 80f0c2fceb133dc5bd14720880112f8d543756841d8505cf74471bc4b8232ef4
[INFO] running `Command { std: "docker" "start" "80f0c2fceb133dc5bd14720880112f8d543756841d8505cf74471bc4b8232ef4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "80f0c2fceb133dc5bd14720880112f8d543756841d8505cf74471bc4b8232ef4" "/opt/rustwide/cargo-home/bin/cargo" "+f4690f24e7d9bcb0b168a02b06dd61391e8bd55a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "80f0c2fceb133dc5bd14720880112f8d543756841d8505cf74471bc4b8232ef4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "80f0c2fceb133dc5bd14720880112f8d543756841d8505cf74471bc4b8232ef4" "/opt/rustwide/cargo-home/bin/cargo" "+f4690f24e7d9bcb0b168a02b06dd61391e8bd55a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling term v1.1.0
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling ena v0.14.3
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling ascii-canvas v4.0.0
[INFO] [stderr]    Compiling pico-args v0.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling lalrpop-util v0.22.2
[INFO] [stderr]    Compiling lalrpop v0.22.2
[INFO] [stderr]    Compiling c_to_urcl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in CURRENT_RUSTC_VERSION
[INFO] [stdout]   = note: superseded by `deref_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in CURRENT_RUSTC_VERSION
[INFO] [stdout]   = note: superseded by `deref_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/ast.rs:881:41
[INFO] [stdout]     |
[INFO] [stdout] 881 |             AbstractDeclarator::Pointer(box p) => {
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/ast.rs:881:41
[INFO] [stdout]     |
[INFO] [stdout] 881 |             AbstractDeclarator::Pointer(box p) => {
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/ast.rs:884:39
[INFO] [stdout]     |
[INFO] [stdout] 884 |             AbstractDeclarator::Array(box i, len) => {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/ast.rs:884:39
[INFO] [stdout]     |
[INFO] [stdout] 884 |             AbstractDeclarator::Array(box i, len) => {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:365:38
[INFO] [stdout]     |
[INFO] [stdout] 365 |             ast::Statement::If(cond, box (then, else_stmt)) => {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:365:38
[INFO] [stdout]     |
[INFO] [stdout] 365 |             ast::Statement::If(cond, box (then, else_stmt)) => {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:376:41
[INFO] [stdout]     |
[INFO] [stdout] 376 |             ast::Statement::While(cond, box stmt, label) => {
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:383:43
[INFO] [stdout]     |
[INFO] [stdout] 383 |             ast::Statement::DoWhile(cond, box stmt, label) => {
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:437:41
[INFO] [stdout]     |
[INFO] [stdout] 437 |             ast::DefaultExpr::Subscript(box (obj, idx)) => {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:443:71
[INFO] [stdout]     |
[INFO] [stdout] 443 |             ast::DefaultExpr::Binary(ast::BinOp::Assign(assign_type), box (var, val)) => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:449:42
[INFO] [stdout]     |
[INFO] [stdout] 449 |             ast::DefaultExpr::Binary(op, box (l, r)) => {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:455:41
[INFO] [stdout]     |
[INFO] [stdout] 455 |             ast::DefaultExpr::Unary(op, box inner) => {
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:469:39
[INFO] [stdout]     |
[INFO] [stdout] 469 |             ast::DefaultExpr::Ternary(box (cond, l, r)) => {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:483:40
[INFO] [stdout]     |
[INFO] [stdout] 483 |             ast::DefaultExpr::Cast(ty, box inner) => {
[INFO] [stdout]     |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:489:38
[INFO] [stdout]     |
[INFO] [stdout] 489 |             ast::DefaultExpr::SizeOf(box inner) => {
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:499:44
[INFO] [stdout]     |
[INFO] [stdout] 499 |             ast::DefaultExpr::MemberAccess(box inner, member) => {
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:504:47
[INFO] [stdout]     |
[INFO] [stdout] 504 |             ast::DefaultExpr::PtrMemberAccess(box inner, member) => {
[INFO] [stdout]     |                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:509:51
[INFO] [stdout]     |
[INFO] [stdout] 509 |             ast::DefaultExpr::CompoundLiteral(ty, box init) => {
[INFO] [stdout]     |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:376:41
[INFO] [stdout]     |
[INFO] [stdout] 376 |             ast::Statement::While(cond, box stmt, label) => {
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:383:43
[INFO] [stdout]     |
[INFO] [stdout] 383 |             ast::Statement::DoWhile(cond, box stmt, label) => {
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:437:41
[INFO] [stdout]     |
[INFO] [stdout] 437 |             ast::DefaultExpr::Subscript(box (obj, idx)) => {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:443:71
[INFO] [stdout]     |
[INFO] [stdout] 443 |             ast::DefaultExpr::Binary(ast::BinOp::Assign(assign_type), box (var, val)) => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:449:42
[INFO] [stdout]     |
[INFO] [stdout] 449 |             ast::DefaultExpr::Binary(op, box (l, r)) => {
[INFO] [stdout]     |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:455:41
[INFO] [stdout]     |
[INFO] [stdout] 455 |             ast::DefaultExpr::Unary(op, box inner) => {
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:469:39
[INFO] [stdout]     |
[INFO] [stdout] 469 |             ast::DefaultExpr::Ternary(box (cond, l, r)) => {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:483:40
[INFO] [stdout]     |
[INFO] [stdout] 483 |             ast::DefaultExpr::Cast(ty, box inner) => {
[INFO] [stdout]     |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:489:38
[INFO] [stdout]     |
[INFO] [stdout] 489 |             ast::DefaultExpr::SizeOf(box inner) => {
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:499:44
[INFO] [stdout]     |
[INFO] [stdout] 499 |             ast::DefaultExpr::MemberAccess(box inner, member) => {
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:504:47
[INFO] [stdout]     |
[INFO] [stdout] 504 |             ast::DefaultExpr::PtrMemberAccess(box inner, member) => {
[INFO] [stdout]     |                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:509:51
[INFO] [stdout]     |
[INFO] [stdout] 509 |             ast::DefaultExpr::CompoundLiteral(ty, box init) => {
[INFO] [stdout]     |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:927:33
[INFO] [stdout]     |
[INFO] [stdout] 927 |             Statement::If(cond, box (then_stmt, else_stmt)) => {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:935:36
[INFO] [stdout]     |
[INFO] [stdout] 935 |             Statement::While(cond, box stmt, label) => {
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:942:38
[INFO] [stdout]     |
[INFO] [stdout] 942 |             Statement::DoWhile(cond, box stmt, label) => {
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:949:48
[INFO] [stdout]     |
[INFO] [stdout] 949 |             Statement::For { init, cond, post, box body, label } => {
[INFO] [stdout]     |             --------------                     ^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             while parsing the fields for this pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:927:33
[INFO] [stdout]     |
[INFO] [stdout] 927 |             Statement::If(cond, box (then_stmt, else_stmt)) => {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:935:36
[INFO] [stdout]     |
[INFO] [stdout] 935 |             Statement::While(cond, box stmt, label) => {
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:942:38
[INFO] [stdout]     |
[INFO] [stdout] 942 |             Statement::DoWhile(cond, box stmt, label) => {
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:949:48
[INFO] [stdout]     |
[INFO] [stdout] 949 |             Statement::For { init, cond, post, box body, label } => {
[INFO] [stdout]     |             --------------                     ^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             while parsing the fields for this pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1056:64
[INFO] [stdout]      |
[INFO] [stdout] 1056 |             DefaultExpr::Binary(ast::BinOp::Assign(assign_ty), box (left, right)) => {
[INFO] [stdout]      |                                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1071:82
[INFO] [stdout]      |
[INFO] [stdout] 1071 |             DefaultExpr::Binary(op @ (ast::BinOp::Equal | ast::BinOp::NotEqual), box (left, right)) => {
[INFO] [stdout]      |                                                                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1088:50
[INFO] [stdout]      |
[INFO] [stdout] 1088 |             DefaultExpr::Binary(ast::BinOp::Add, box (left, right)) => {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1056:64
[INFO] [stdout]      |
[INFO] [stdout] 1056 |             DefaultExpr::Binary(ast::BinOp::Assign(assign_ty), box (left, right)) => {
[INFO] [stdout]      |                                                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1071:82
[INFO] [stdout]      |
[INFO] [stdout] 1071 |             DefaultExpr::Binary(op @ (ast::BinOp::Equal | ast::BinOp::NotEqual), box (left, right)) => {
[INFO] [stdout]      |                                                                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1088:50
[INFO] [stdout]      |
[INFO] [stdout] 1088 |             DefaultExpr::Binary(ast::BinOp::Add, box (left, right)) => {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1113:50
[INFO] [stdout]      |
[INFO] [stdout] 1113 |             DefaultExpr::Binary(ast::BinOp::Sub, box (left, right)) => {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1137:37
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             DefaultExpr::Binary(op, box (left, right)) => {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1158:66
[INFO] [stdout]      |
[INFO] [stdout] 1158 |             DefaultExpr::Unary(ast::UnOp::Increment { is_post }, box inner) => {
[INFO] [stdout]      |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1176:66
[INFO] [stdout]      |
[INFO] [stdout] 1176 |             DefaultExpr::Unary(ast::UnOp::Decrement { is_post }, box inner) => {
[INFO] [stdout]      |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1194:48
[INFO] [stdout]      |
[INFO] [stdout] 1194 |             DefaultExpr::Unary(ast::UnOp::Not, box inner) => {
[INFO] [stdout]      |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1205:56
[INFO] [stdout]      |
[INFO] [stdout] 1205 |             DefaultExpr::Unary(ast::UnOp::Dereference, box inner) => {
[INFO] [stdout]      |                                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1113:50
[INFO] [stdout]      |
[INFO] [stdout] 1113 |             DefaultExpr::Binary(ast::BinOp::Sub, box (left, right)) => {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1137:37
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             DefaultExpr::Binary(op, box (left, right)) => {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1158:66
[INFO] [stdout]      |
[INFO] [stdout] 1158 |             DefaultExpr::Unary(ast::UnOp::Increment { is_post }, box inner) => {
[INFO] [stdout]      |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1176:66
[INFO] [stdout]      |
[INFO] [stdout] 1176 |             DefaultExpr::Unary(ast::UnOp::Decrement { is_post }, box inner) => {
[INFO] [stdout]      |                                                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1194:48
[INFO] [stdout]      |
[INFO] [stdout] 1194 |             DefaultExpr::Unary(ast::UnOp::Not, box inner) => {
[INFO] [stdout]      |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1205:56
[INFO] [stdout]      |
[INFO] [stdout] 1205 |             DefaultExpr::Unary(ast::UnOp::Dereference, box inner) => {
[INFO] [stdout]      |                                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1220:54
[INFO] [stdout]      |
[INFO] [stdout] 1220 |             DefaultExpr::Unary(ast::UnOp::AddressOf, box inner) => {
[INFO] [stdout]      |                                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1220:54
[INFO] [stdout]      |
[INFO] [stdout] 1220 |             DefaultExpr::Unary(ast::UnOp::AddressOf, box inner) => {
[INFO] [stdout]      |                                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1231:36
[INFO] [stdout]      |
[INFO] [stdout] 1231 |             DefaultExpr::Unary(op, box inner) => {
[INFO] [stdout]      |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1231:36
[INFO] [stdout]      |
[INFO] [stdout] 1231 |             DefaultExpr::Unary(op, box inner) => {
[INFO] [stdout]      |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1249:34
[INFO] [stdout]      |
[INFO] [stdout] 1249 |             DefaultExpr::Ternary(box (cond, then_expr, else_expr)) => {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1273:34
[INFO] [stdout]      |
[INFO] [stdout] 1273 |             DefaultExpr::Cast(t, box inner) => {
[INFO] [stdout]      |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1295:36
[INFO] [stdout]      |
[INFO] [stdout] 1295 |             DefaultExpr::Subscript(box (obj, idx)) => {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1370:46
[INFO] [stdout]      |
[INFO] [stdout] 1370 |             DefaultExpr::CompoundLiteral(ty, box init) => {
[INFO] [stdout]      |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1249:34
[INFO] [stdout]      |
[INFO] [stdout] 1249 |             DefaultExpr::Ternary(box (cond, then_expr, else_expr)) => {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1273:34
[INFO] [stdout]      |
[INFO] [stdout] 1273 |             DefaultExpr::Cast(t, box inner) => {
[INFO] [stdout]      |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1295:36
[INFO] [stdout]      |
[INFO] [stdout] 1295 |             DefaultExpr::Subscript(box (obj, idx)) => {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1370:46
[INFO] [stdout]      |
[INFO] [stdout] 1370 |             DefaultExpr::CompoundLiteral(ty, box init) => {
[INFO] [stdout]      |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:327:38
[INFO] [stdout]     |
[INFO] [stdout] 327 |             ast::Statement::If(cond, box (then, else_stmt)) => {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:361:41
[INFO] [stdout]     |
[INFO] [stdout] 361 |             ast::Statement::While(cond, box stmt, label) => {
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:387:43
[INFO] [stdout]     |
[INFO] [stdout] 387 |             ast::Statement::DoWhile(cond, box stmt, label) => {
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:413:53
[INFO] [stdout]     |
[INFO] [stdout] 413 |             ast::Statement::For { init, cond, post, box body, label } => {
[INFO] [stdout]     |             -------------------                     ^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             while parsing the fields for this pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:612:83
[INFO] [stdout]     |
[INFO] [stdout] 612 |             ast::DefaultExpr::Binary(ast::BinOp::Assign(ast::AssignType::Normal), box (left, val)) => {
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:645:71
[INFO] [stdout]     |
[INFO] [stdout] 645 |             ast::DefaultExpr::Binary(ast::BinOp::Assign(assign_type), box (lval, val)) => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:707:55
[INFO] [stdout]     |
[INFO] [stdout] 707 |             ast::DefaultExpr::Binary(ast::BinOp::Add, box (right,left @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)}))  |
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:708:55
[INFO] [stdout]     |
[INFO] [stdout] 708 |             ast::DefaultExpr::Binary(ast::BinOp::Add, box (left @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)},right)) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:727:55
[INFO] [stdout]     |
[INFO] [stdout] 727 | ...inOp::Sub, box (left @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)},right @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)})) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:752:55
[INFO] [stdout]     |
[INFO] [stdout] 752 |             ast::DefaultExpr::Binary(ast::BinOp::Sub, box (left @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)},right)) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:771:55
[INFO] [stdout]     |
[INFO] [stdout] 771 |             ast::DefaultExpr::Binary(ast::BinOp::And, box (left, right)) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:812:54
[INFO] [stdout]     |
[INFO] [stdout] 812 |             ast::DefaultExpr::Binary(ast::BinOp::Or, box (left, right)) => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:855:42
[INFO] [stdout]     |
[INFO] [stdout] 855 |             ast::DefaultExpr::Binary(op, box (left, right)) => {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:892:53
[INFO] [stdout]     |
[INFO] [stdout] 892 |             ast::DefaultExpr::Unary(ast::UnOp::Not, box inner) => {
[INFO] [stdout]     |                                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:920:61
[INFO] [stdout]     |
[INFO] [stdout] 920 |             ast::DefaultExpr::Unary(ast::UnOp::Dereference, box inner) => {
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:925:59
[INFO] [stdout]     |
[INFO] [stdout] 925 |             ast::DefaultExpr::Unary(ast::UnOp::AddressOf, box inner) => {
[INFO] [stdout]     |                                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:961:127
[INFO] [stdout]     |
[INFO] [stdout] 961 | ..._post: false } | ast::UnOp::Increment { is_post: false }), box inner) => {
[INFO] [stdout]     |                                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1028:125
[INFO] [stdout]      |
[INFO] [stdout] 1028 | ...   ast::DefaultExpr::Unary(op @ (ast::UnOp::Decrement { is_post: true } | ast::UnOp::Increment { is_post: true }), box inner) => {
[INFO] [stdout]      |                                                                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1129:43
[INFO] [stdout]      |
[INFO] [stdout] 1129 |             ast::DefaultExpr::Unary(unop, box inner) => {
[INFO] [stdout]      |                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1153:39
[INFO] [stdout]      |
[INFO] [stdout] 1153 |             ast::DefaultExpr::Ternary(box (cond, then_expr, else_expr)) => {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1242:41
[INFO] [stdout]      |
[INFO] [stdout] 1242 |             ast::DefaultExpr::Subscript(box (left, right)) => {
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1280:44
[INFO] [stdout]      |
[INFO] [stdout] 1280 |             ast::DefaultExpr::MemberAccess(box inner, item) => {
[INFO] [stdout]      |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1312:47
[INFO] [stdout]      |
[INFO] [stdout] 1312 |             ast::DefaultExpr::PtrMemberAccess(box inner, item) => {
[INFO] [stdout]      |                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1313:61
[INFO] [stdout]      |
[INFO] [stdout] 1313 | ...   let struct_name = if let ast::Type::Pointer(box ast::Type::Struct(name)) | ast::Type::Pointer(box ast::Type::Union(name)) = ...
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1313:111
[INFO] [stdout]      |
[INFO] [stdout] 1313 | ...   let struct_name = if let ast::Type::Pointer(box ast::Type::Struct(name)) | ast::Type::Pointer(box ast::Type::Union(name)) = ...
[INFO] [stdout]      |                                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1331:51
[INFO] [stdout]      |
[INFO] [stdout] 1331 |             ast::DefaultExpr::CompoundLiteral(ty, box init) => {
[INFO] [stdout]      |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:327:38
[INFO] [stdout]     |
[INFO] [stdout] 327 |             ast::Statement::If(cond, box (then, else_stmt)) => {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:361:41
[INFO] [stdout]     |
[INFO] [stdout] 361 |             ast::Statement::While(cond, box stmt, label) => {
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:387:43
[INFO] [stdout]     |
[INFO] [stdout] 387 |             ast::Statement::DoWhile(cond, box stmt, label) => {
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:413:53
[INFO] [stdout]     |
[INFO] [stdout] 413 |             ast::Statement::For { init, cond, post, box body, label } => {
[INFO] [stdout]     |             -------------------                     ^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             while parsing the fields for this pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:612:83
[INFO] [stdout]     |
[INFO] [stdout] 612 |             ast::DefaultExpr::Binary(ast::BinOp::Assign(ast::AssignType::Normal), box (left, val)) => {
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:645:71
[INFO] [stdout]     |
[INFO] [stdout] 645 |             ast::DefaultExpr::Binary(ast::BinOp::Assign(assign_type), box (lval, val)) => {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:707:55
[INFO] [stdout]     |
[INFO] [stdout] 707 |             ast::DefaultExpr::Binary(ast::BinOp::Add, box (right,left @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)}))  |
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:708:55
[INFO] [stdout]     |
[INFO] [stdout] 708 |             ast::DefaultExpr::Binary(ast::BinOp::Add, box (left @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)},right)) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:727:55
[INFO] [stdout]     |
[INFO] [stdout] 727 | ...inOp::Sub, box (left @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)},right @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)})) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:752:55
[INFO] [stdout]     |
[INFO] [stdout] 752 |             ast::DefaultExpr::Binary(ast::BinOp::Sub, box (left @ TypedExpr{expr:_,ty:ast::Type::Pointer(_)},right)) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:771:55
[INFO] [stdout]     |
[INFO] [stdout] 771 |             ast::DefaultExpr::Binary(ast::BinOp::And, box (left, right)) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:812:54
[INFO] [stdout]     |
[INFO] [stdout] 812 |             ast::DefaultExpr::Binary(ast::BinOp::Or, box (left, right)) => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:855:42
[INFO] [stdout]     |
[INFO] [stdout] 855 |             ast::DefaultExpr::Binary(op, box (left, right)) => {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:892:53
[INFO] [stdout]     |
[INFO] [stdout] 892 |             ast::DefaultExpr::Unary(ast::UnOp::Not, box inner) => {
[INFO] [stdout]     |                                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:920:61
[INFO] [stdout]     |
[INFO] [stdout] 920 |             ast::DefaultExpr::Unary(ast::UnOp::Dereference, box inner) => {
[INFO] [stdout]     |                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:925:59
[INFO] [stdout]     |
[INFO] [stdout] 925 |             ast::DefaultExpr::Unary(ast::UnOp::AddressOf, box inner) => {
[INFO] [stdout]     |                                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/mir/mir_gen.rs:961:127
[INFO] [stdout]     |
[INFO] [stdout] 961 | ..._post: false } | ast::UnOp::Increment { is_post: false }), box inner) => {
[INFO] [stdout]     |                                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1028:125
[INFO] [stdout]      |
[INFO] [stdout] 1028 | ...   ast::DefaultExpr::Unary(op @ (ast::UnOp::Decrement { is_post: true } | ast::UnOp::Increment { is_post: true }), box inner) => {
[INFO] [stdout]      |                                                                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1129:43
[INFO] [stdout]      |
[INFO] [stdout] 1129 |             ast::DefaultExpr::Unary(unop, box inner) => {
[INFO] [stdout]      |                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1153:39
[INFO] [stdout]      |
[INFO] [stdout] 1153 |             ast::DefaultExpr::Ternary(box (cond, then_expr, else_expr)) => {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1242:41
[INFO] [stdout]      |
[INFO] [stdout] 1242 |             ast::DefaultExpr::Subscript(box (left, right)) => {
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1280:44
[INFO] [stdout]      |
[INFO] [stdout] 1280 |             ast::DefaultExpr::MemberAccess(box inner, item) => {
[INFO] [stdout]      |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1312:47
[INFO] [stdout]      |
[INFO] [stdout] 1312 |             ast::DefaultExpr::PtrMemberAccess(box inner, item) => {
[INFO] [stdout]      |                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1313:61
[INFO] [stdout]      |
[INFO] [stdout] 1313 | ...   let struct_name = if let ast::Type::Pointer(box ast::Type::Struct(name)) | ast::Type::Pointer(box ast::Type::Union(name)) = ...
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1313:111
[INFO] [stdout]      |
[INFO] [stdout] 1313 | ...   let struct_name = if let ast::Type::Pointer(box ast::Type::Struct(name)) | ast::Type::Pointer(box ast::Type::Union(name)) = ...
[INFO] [stdout]      |                                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]     --> src/mir/mir_gen.rs:1331:51
[INFO] [stdout]      |
[INFO] [stdout] 1331 |             ast::DefaultExpr::CompoundLiteral(ty, box init) => {
[INFO] [stdout]      |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/ast.rs:445:38
[INFO] [stdout]     |
[INFO] [stdout] 445 |         matches!(self, Self::Pointer(box Self::Void))
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_patterns` have been removed
[INFO] [stdout]    --> src/ast.rs:445:38
[INFO] [stdout]     |
[INFO] [stdout] 445 |         matches!(self, Self::Pointer(box Self::Void))
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `p` in this scope
[INFO] [stdout]    --> src/ast.rs:882:17
[INFO] [stdout]     |
[INFO] [stdout] 882 |                 p.process(Type::Pointer(Box::new(base_type)))
[INFO] [stdout]     |                 ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `i` in this scope
[INFO] [stdout]    --> src/ast.rs:885:17
[INFO] [stdout]     |
[INFO] [stdout] 885 |                 i.process(Type::Array(Box::new(base_type), len))
[INFO] [stdout]     |                 ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:368:51
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 let then = self.analyze_statement(then, context);
[INFO] [stdout]     |                                                   ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:369:33
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 let else_stmt = else_stmt.map(|e|self.analyze_statement(e, context));
[INFO] [stdout]     |                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `p` in this scope
[INFO] [stdout]    --> src/ast.rs:882:17
[INFO] [stdout]     |
[INFO] [stdout] 882 |                 p.process(Type::Pointer(Box::new(base_type)))
[INFO] [stdout]     |                 ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:379:51
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 let stmt = self.analyze_statement(stmt, context);
[INFO] [stdout]     |                                                   ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `i` in this scope
[INFO] [stdout]    --> src/ast.rs:885:17
[INFO] [stdout]     |
[INFO] [stdout] 885 |                 i.process(Type::Array(Box::new(base_type), len))
[INFO] [stdout]     |                 ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:386:51
[INFO] [stdout]     |
[INFO] [stdout] 386 |                 let stmt = self.analyze_statement(stmt, context);
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `stmt` is available in a different scope in the same function
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:379:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 let stmt = self.analyze_statement(stmt, context);
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:368:51
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 let then = self.analyze_statement(then, context);
[INFO] [stdout]     |                                                   ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `obj` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:438:45
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 let obj = self.analyze_expr(obj, context);
[INFO] [stdout]     |                                             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:369:33
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 let else_stmt = else_stmt.map(|e|self.analyze_statement(e, context));
[INFO] [stdout]     |                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `idx` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:439:45
[INFO] [stdout]     |
[INFO] [stdout] 439 |                 let idx = self.analyze_expr(idx, context);
[INFO] [stdout]     |                                             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:379:51
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 let stmt = self.analyze_statement(stmt, context);
[INFO] [stdout]     |                                                   ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `var` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:444:45
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let var = self.analyze_expr(var, context);
[INFO] [stdout]     |                                             ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::env::var;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:386:51
[INFO] [stdout]     |
[INFO] [stdout] 386 |                 let stmt = self.analyze_statement(stmt, context);
[INFO] [stdout]     |                                                   ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `stmt` is available in a different scope in the same function
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:379:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 let stmt = self.analyze_statement(stmt, context);
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `val` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:445:45
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let val = self.analyze_expr(val, context);
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 445 -                 let val = self.analyze_expr(val, context);
[INFO] [stdout] 445 +                 let val = self.analyze_expr(var, context);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `l` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:450:43
[INFO] [stdout]     |
[INFO] [stdout] 450 |                 let l = self.analyze_expr(l, context);
[INFO] [stdout]     |                                           ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `obj` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:438:45
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 let obj = self.analyze_expr(obj, context);
[INFO] [stdout]     |                                             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `r` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:451:43
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 let r = self.analyze_expr(r, context);
[INFO] [stdout]     |                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 451 -                 let r = self.analyze_expr(r, context);
[INFO] [stdout] 451 +                 let r = self.analyze_expr(l, context);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `idx` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:439:45
[INFO] [stdout]     |
[INFO] [stdout] 439 |                 let idx = self.analyze_expr(idx, context);
[INFO] [stdout]     |                                             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:456:47
[INFO] [stdout]     |
[INFO] [stdout] 456 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `var` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:444:45
[INFO] [stdout]     |
[INFO] [stdout] 444 |                 let var = self.analyze_expr(var, context);
[INFO] [stdout]     |                                             ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::env::var;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `cond` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:470:46
[INFO] [stdout]     |
[INFO] [stdout] 470 |                 let cond = self.analyze_expr(cond, context);
[INFO] [stdout]     |                                              ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `val` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:445:45
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 let val = self.analyze_expr(val, context);
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 445 -                 let val = self.analyze_expr(val, context);
[INFO] [stdout] 445 +                 let val = self.analyze_expr(var, context);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `l` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:471:43
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 let l = self.analyze_expr(l, context);
[INFO] [stdout]     |                                           ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `r` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:472:43
[INFO] [stdout]     |
[INFO] [stdout] 472 |                 let r = self.analyze_expr(r, context);
[INFO] [stdout]     |                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 472 -                 let r = self.analyze_expr(r, context);
[INFO] [stdout] 472 +                 let r = self.analyze_expr(l, context);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `l` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:450:43
[INFO] [stdout]     |
[INFO] [stdout] 450 |                 let l = self.analyze_expr(l, context);
[INFO] [stdout]     |                                           ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:485:47
[INFO] [stdout]     |
[INFO] [stdout] 485 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `r` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:451:43
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 let r = self.analyze_expr(r, context);
[INFO] [stdout]     |                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 451 -                 let r = self.analyze_expr(r, context);
[INFO] [stdout] 451 +                 let r = self.analyze_expr(l, context);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:456:47
[INFO] [stdout]     |
[INFO] [stdout] 456 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:490:47
[INFO] [stdout]     |
[INFO] [stdout] 490 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:485:21
[INFO] [stdout]     |
[INFO] [stdout] 485 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:500:47
[INFO] [stdout]     |
[INFO] [stdout] 500 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `cond` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:470:46
[INFO] [stdout]     |
[INFO] [stdout] 470 |                 let cond = self.analyze_expr(cond, context);
[INFO] [stdout]     |                                              ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:505:47
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:500:21
[INFO] [stdout]     |
[INFO] [stdout] 500 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `l` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:471:43
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 let l = self.analyze_expr(l, context);
[INFO] [stdout]     |                                           ^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `init` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:512:46
[INFO] [stdout]     |
[INFO] [stdout] 512 |                 let init = self.analyze_init(init, context);
[INFO] [stdout]     |                                              ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:930:58
[INFO] [stdout]     |
[INFO] [stdout] 930 |                 let then_stmt = self.typecheck_statement(then_stmt);
[INFO] [stdout]     |                                                          ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:931:33
[INFO] [stdout]     |
[INFO] [stdout] 931 |                 let else_stmt = else_stmt.map(|s|self.typecheck_statement(s));
[INFO] [stdout]     |                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `r` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:472:43
[INFO] [stdout]     |
[INFO] [stdout] 472 |                 let r = self.analyze_expr(r, context);
[INFO] [stdout]     |                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 472 -                 let r = self.analyze_expr(r, context);
[INFO] [stdout] 472 +                 let r = self.analyze_expr(l, context);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:485:47
[INFO] [stdout]     |
[INFO] [stdout] 485 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:490:47
[INFO] [stdout]     |
[INFO] [stdout] 490 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:485:21
[INFO] [stdout]     |
[INFO] [stdout] 485 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:500:47
[INFO] [stdout]     |
[INFO] [stdout] 500 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:505:47
[INFO] [stdout]     |
[INFO] [stdout] 505 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:500:21
[INFO] [stdout]     |
[INFO] [stdout] 500 |                 let inner = self.analyze_expr(inner, context);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `init` in this scope
[INFO] [stdout]    --> src/semantic_analysis/name_analysis.rs:512:46
[INFO] [stdout]     |
[INFO] [stdout] 512 |                 let init = self.analyze_init(init, context);
[INFO] [stdout]     |                                              ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1057:60
[INFO] [stdout]      |
[INFO] [stdout] 1057 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1063:61
[INFO] [stdout]      |
[INFO] [stdout] 1063 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:930:58
[INFO] [stdout]     |
[INFO] [stdout] 930 |                 let then_stmt = self.typecheck_statement(then_stmt);
[INFO] [stdout]     |                                                          ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1072:60
[INFO] [stdout]      |
[INFO] [stdout] 1072 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1057:21
[INFO] [stdout]      |
[INFO] [stdout] 1057 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_stmt` in this scope
[INFO] [stdout]    --> src/semantic_analysis/type_check.rs:931:33
[INFO] [stdout]     |
[INFO] [stdout] 931 |                 let else_stmt = else_stmt.map(|s|self.typecheck_statement(s));
[INFO] [stdout]     |                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1073:61
[INFO] [stdout]      |
[INFO] [stdout] 1073 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1063:21
[INFO] [stdout]      |
[INFO] [stdout] 1063 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1089:60
[INFO] [stdout]      |
[INFO] [stdout] 1089 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1072:21
[INFO] [stdout]      |
[INFO] [stdout] 1072 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1090:61
[INFO] [stdout]      |
[INFO] [stdout] 1090 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1073:21
[INFO] [stdout]      |
[INFO] [stdout] 1073 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1114:60
[INFO] [stdout]      |
[INFO] [stdout] 1114 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1089:21
[INFO] [stdout]      |
[INFO] [stdout] 1089 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1115:61
[INFO] [stdout]      |
[INFO] [stdout] 1115 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1090:21
[INFO] [stdout]      |
[INFO] [stdout] 1090 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1138:60
[INFO] [stdout]      |
[INFO] [stdout] 1138 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1114:21
[INFO] [stdout]      |
[INFO] [stdout] 1114 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1139:61
[INFO] [stdout]      |
[INFO] [stdout] 1139 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1115:21
[INFO] [stdout]      |
[INFO] [stdout] 1115 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1057:60
[INFO] [stdout]      |
[INFO] [stdout] 1057 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1159:49
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                                                 ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1063:61
[INFO] [stdout]      |
[INFO] [stdout] 1063 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1177:49
[INFO] [stdout]      |
[INFO] [stdout] 1177 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                                                 ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1159:21
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1072:60
[INFO] [stdout]      |
[INFO] [stdout] 1072 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1057:21
[INFO] [stdout]      |
[INFO] [stdout] 1057 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1195:61
[INFO] [stdout]      |
[INFO] [stdout] 1195 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1177:21
[INFO] [stdout]      |
[INFO] [stdout] 1177 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1206:61
[INFO] [stdout]      |
[INFO] [stdout] 1206 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1195:21
[INFO] [stdout]      |
[INFO] [stdout] 1195 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1073:61
[INFO] [stdout]      |
[INFO] [stdout] 1073 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1063:21
[INFO] [stdout]      |
[INFO] [stdout] 1063 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1221:49
[INFO] [stdout]      |
[INFO] [stdout] 1221 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                                                 ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1206:21
[INFO] [stdout]      |
[INFO] [stdout] 1206 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1089:60
[INFO] [stdout]      |
[INFO] [stdout] 1089 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1072:21
[INFO] [stdout]      |
[INFO] [stdout] 1072 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1232:61
[INFO] [stdout]      |
[INFO] [stdout] 1232 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1221:21
[INFO] [stdout]      |
[INFO] [stdout] 1221 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1090:61
[INFO] [stdout]      |
[INFO] [stdout] 1090 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1073:21
[INFO] [stdout]      |
[INFO] [stdout] 1073 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `cond` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1250:60
[INFO] [stdout]      |
[INFO] [stdout] 1250 |                 let cond = self.typecheck_expr_and_convert(cond);
[INFO] [stdout]      |                                                            ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1114:60
[INFO] [stdout]      |
[INFO] [stdout] 1114 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1089:21
[INFO] [stdout]      |
[INFO] [stdout] 1089 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_expr` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1251:65
[INFO] [stdout]      |
[INFO] [stdout] 1251 |                 let then_expr = self.typecheck_expr_and_convert(then_expr);
[INFO] [stdout]      |                                                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1115:61
[INFO] [stdout]      |
[INFO] [stdout] 1115 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1090:21
[INFO] [stdout]      |
[INFO] [stdout] 1090 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_expr` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1252:65
[INFO] [stdout]      |
[INFO] [stdout] 1252 |                 let else_expr = self.typecheck_expr_and_convert(else_expr);
[INFO] [stdout]      |                                                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1138:60
[INFO] [stdout]      |
[INFO] [stdout] 1138 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                                                            ^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1114:21
[INFO] [stdout]      |
[INFO] [stdout] 1114 |                 let left = self.typecheck_expr_and_convert(left);
[INFO] [stdout]      |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1277:61
[INFO] [stdout]      |
[INFO] [stdout] 1277 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                                                             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1139:61
[INFO] [stdout]      |
[INFO] [stdout] 1139 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1115:21
[INFO] [stdout]      |
[INFO] [stdout] 1115 |                 let right = self.typecheck_expr_and_convert(right);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `obj` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1296:59
[INFO] [stdout]      |
[INFO] [stdout] 1296 |                 let obj = self.typecheck_expr_and_convert(obj);
[INFO] [stdout]      |                                                           ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `idx` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1297:59
[INFO] [stdout]      |
[INFO] [stdout] 1297 |                 let idx = self.typecheck_expr_and_convert(idx);
[INFO] [stdout]      |                                                           ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1159:49
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                                                 ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `init` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1371:102
[INFO] [stdout]      |
[INFO] [stdout] 1371 |                 TypedExpr::new(DefaultExpr::CompoundLiteral(ty.clone(), Box::new(self.typecheck_init(init, ty.clone()))), ty)
[INFO] [stdout]      |                                                                                                      ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1177:49
[INFO] [stdout]      |
[INFO] [stdout] 1177 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                                                 ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1159:21
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:343:41
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 self.generate_statement(then, symbol_table);
[INFO] [stdout]     |                                         ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1195:61
[INFO] [stdout]      |
[INFO] [stdout] 1195 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1177:21
[INFO] [stdout]      |
[INFO] [stdout] 1177 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_stmt` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:345:42
[INFO] [stdout]     |
[INFO] [stdout] 345 |                 if let Some(else_stmt) = else_stmt {
[INFO] [stdout]     |                                          ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1206:61
[INFO] [stdout]      |
[INFO] [stdout] 1206 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1195:21
[INFO] [stdout]      |
[INFO] [stdout] 1195 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1221:49
[INFO] [stdout]      |
[INFO] [stdout] 1221 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                                                 ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1206:21
[INFO] [stdout]      |
[INFO] [stdout] 1206 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1232:61
[INFO] [stdout]      |
[INFO] [stdout] 1232 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                                                             ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1221:21
[INFO] [stdout]      |
[INFO] [stdout] 1221 |                 let inner = self.typecheck_expr(inner);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `cond` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1250:60
[INFO] [stdout]      |
[INFO] [stdout] 1250 |                 let cond = self.typecheck_expr_and_convert(cond);
[INFO] [stdout]      |                                                            ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_expr` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1251:65
[INFO] [stdout]      |
[INFO] [stdout] 1251 |                 let then_expr = self.typecheck_expr_and_convert(then_expr);
[INFO] [stdout]      |                                                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_expr` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1252:65
[INFO] [stdout]      |
[INFO] [stdout] 1252 |                 let else_expr = self.typecheck_expr_and_convert(else_expr);
[INFO] [stdout]      |                                                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1277:61
[INFO] [stdout]      |
[INFO] [stdout] 1277 |                 let inner = self.typecheck_expr_and_convert(inner);
[INFO] [stdout]      |                                                             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:613:53
[INFO] [stdout]     |
[INFO] [stdout] 613 |                 let writing_to = self.generate_expr(left, symbol_table);
[INFO] [stdout]     |                                                     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `obj` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1296:59
[INFO] [stdout]      |
[INFO] [stdout] 1296 |                 let obj = self.typecheck_expr_and_convert(obj);
[INFO] [stdout]      |                                                           ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `val` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:614:58
[INFO] [stdout]     |
[INFO] [stdout] 614 |                 let val = self.generate_expr_and_convert(val, symbol_table);
[INFO] [stdout]     |                                                          ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `idx` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1297:59
[INFO] [stdout]      |
[INFO] [stdout] 1297 |                 let idx = self.typecheck_expr_and_convert(idx);
[INFO] [stdout]      |                                                           ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lval` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:646:46
[INFO] [stdout]     |
[INFO] [stdout] 646 |                 let dst = self.generate_expr(lval, symbol_table);
[INFO] [stdout]     |                                              ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `init` in this scope
[INFO] [stdout]     --> src/semantic_analysis/type_check.rs:1371:102
[INFO] [stdout]      |
[INFO] [stdout] 1371 |                 TypedExpr::new(DefaultExpr::CompoundLiteral(ty.clone(), Box::new(self.typecheck_init(init, ty.clone()))), ty)
[INFO] [stdout]      |                                                                                                      ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `val` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:649:58
[INFO] [stdout]     |
[INFO] [stdout] 649 |                 let val = self.generate_expr_and_convert(val, symbol_table);
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `val` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:614:21
[INFO] [stdout]     |
[INFO] [stdout] 614 |                 let val = self.generate_expr_and_convert(val, symbol_table);
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:709:32
[INFO] [stdout]     |
[INFO] [stdout] 709 |                 let inner_ty = left.ty.refed_ptr_ty().unwrap();
[INFO] [stdout]     |                                ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:343:41
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 self.generate_statement(then, symbol_table);
[INFO] [stdout]     |                                         ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_stmt` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:345:42
[INFO] [stdout]     |
[INFO] [stdout] 345 |                 if let Some(else_stmt) = else_stmt {
[INFO] [stdout]     |                                          ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:712:58
[INFO] [stdout]     |
[INFO] [stdout] 712 |                 let ptr = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                          ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:713:58
[INFO] [stdout]     |
[INFO] [stdout] 713 |                 let idx = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                          ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:728:32
[INFO] [stdout]     |
[INFO] [stdout] 728 |                 let inner_ty = left.ty.refed_ptr_ty().unwrap();
[INFO] [stdout]     |                                ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:731:59
[INFO] [stdout]     |
[INFO] [stdout] 731 |                 let src1 = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                           ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:732:59
[INFO] [stdout]     |
[INFO] [stdout] 732 |                 let src2 = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                           ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:753:32
[INFO] [stdout]     |
[INFO] [stdout] 753 |                 let inner_ty = left.ty.refed_ptr_ty().unwrap();
[INFO] [stdout]     |                                ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:756:58
[INFO] [stdout]     |
[INFO] [stdout] 756 |                 let ptr = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                          ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:613:53
[INFO] [stdout]     |
[INFO] [stdout] 613 |                 let writing_to = self.generate_expr(left, symbol_table);
[INFO] [stdout]     |                                                     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:757:58
[INFO] [stdout]     |
[INFO] [stdout] 757 |                 let idx = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                          ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `val` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:614:58
[INFO] [stdout]     |
[INFO] [stdout] 614 |                 let val = self.generate_expr_and_convert(val, symbol_table);
[INFO] [stdout]     |                                                          ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:776:59
[INFO] [stdout]     |
[INFO] [stdout] 776 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                           ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lval` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:646:46
[INFO] [stdout]     |
[INFO] [stdout] 646 |                 let dst = self.generate_expr(lval, symbol_table);
[INFO] [stdout]     |                                              ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:792:60
[INFO] [stdout]     |
[INFO] [stdout] 792 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                            ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `val` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:649:58
[INFO] [stdout]     |
[INFO] [stdout] 649 |                 let val = self.generate_expr_and_convert(val, symbol_table);
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `val` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:614:21
[INFO] [stdout]     |
[INFO] [stdout] 614 |                 let val = self.generate_expr_and_convert(val, symbol_table);
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:819:59
[INFO] [stdout]     |
[INFO] [stdout] 819 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:776:21
[INFO] [stdout]     |
[INFO] [stdout] 776 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:709:32
[INFO] [stdout]     |
[INFO] [stdout] 709 |                 let inner_ty = left.ty.refed_ptr_ty().unwrap();
[INFO] [stdout]     |                                ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:835:60
[INFO] [stdout]     |
[INFO] [stdout] 835 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:792:21
[INFO] [stdout]     |
[INFO] [stdout] 792 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:712:58
[INFO] [stdout]     |
[INFO] [stdout] 712 |                 let ptr = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                          ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:878:59
[INFO] [stdout]     |
[INFO] [stdout] 878 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:819:21
[INFO] [stdout]     |
[INFO] [stdout] 819 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:879:60
[INFO] [stdout]     |
[INFO] [stdout] 879 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:835:21
[INFO] [stdout]     |
[INFO] [stdout] 835 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:713:58
[INFO] [stdout]     |
[INFO] [stdout] 713 |                 let idx = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                          ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:895:60
[INFO] [stdout]     |
[INFO] [stdout] 895 |                 let inner = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]     |                                                            ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:728:32
[INFO] [stdout]     |
[INFO] [stdout] 728 |                 let inner_ty = left.ty.refed_ptr_ty().unwrap();
[INFO] [stdout]     |                                ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:921:58
[INFO] [stdout]     |
[INFO] [stdout] 921 |                 let ptr = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]     |                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:895:21
[INFO] [stdout]     |
[INFO] [stdout] 895 |                 let inner = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:731:59
[INFO] [stdout]     |
[INFO] [stdout] 731 |                 let src1 = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                           ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:926:44
[INFO] [stdout]     |
[INFO] [stdout] 926 |                 let v = self.generate_expr(inner, symbol_table);
[INFO] [stdout]     |                                            ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:732:59
[INFO] [stdout]     |
[INFO] [stdout] 732 |                 let src2 = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                           ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:962:48
[INFO] [stdout]     |
[INFO] [stdout] 962 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]     |                                                ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:753:32
[INFO] [stdout]     |
[INFO] [stdout] 753 |                 let inner_ty = left.ty.refed_ptr_ty().unwrap();
[INFO] [stdout]     |                                ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1029:36
[INFO] [stdout]      |
[INFO] [stdout] 1029 |                 let inner_ptr_ty = inner.ty.refed_ptr_ty().cloned();
[INFO] [stdout]      |                                    ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:962:21
[INFO] [stdout]      |
[INFO] [stdout]  962 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:756:58
[INFO] [stdout]     |
[INFO] [stdout] 756 |                 let ptr = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                          ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1031:44
[INFO] [stdout]      |
[INFO] [stdout] 1031 |                 let dst = self.gen_tmp_var(inner.ty.clone(), symbol_table);
[INFO] [stdout]      |                                            ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:962:21
[INFO] [stdout]      |
[INFO] [stdout]  962 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:757:58
[INFO] [stdout]     |
[INFO] [stdout] 757 |                 let idx = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                          ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1033:48
[INFO] [stdout]      |
[INFO] [stdout] 1033 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                                                ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:962:21
[INFO] [stdout]      |
[INFO] [stdout]  962 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1141:58
[INFO] [stdout]      |
[INFO] [stdout] 1141 |                 let src = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]      |                                                          ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:1033:21
[INFO] [stdout]      |
[INFO] [stdout] 1033 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:776:59
[INFO] [stdout]     |
[INFO] [stdout] 776 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                           ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:792:60
[INFO] [stdout]     |
[INFO] [stdout] 792 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                            ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1154:31
[INFO] [stdout]      |
[INFO] [stdout] 1154 |                 let is_void = then_expr.ty.is_void();
[INFO] [stdout]      |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `cond` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1156:59
[INFO] [stdout]      |
[INFO] [stdout] 1156 |                 let cond = self.generate_expr_and_convert(cond, symbol_table);
[INFO] [stdout]      |                                                           ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:819:59
[INFO] [stdout]     |
[INFO] [stdout] 819 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:776:21
[INFO] [stdout]     |
[INFO] [stdout] 776 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1175:52
[INFO] [stdout]      |
[INFO] [stdout] 1175 |                     self.generate_expr_and_convert(then_expr, symbol_table);
[INFO] [stdout]      |                                                    ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:835:60
[INFO] [stdout]     |
[INFO] [stdout] 835 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:792:21
[INFO] [stdout]     |
[INFO] [stdout] 792 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1181:52
[INFO] [stdout]      |
[INFO] [stdout] 1181 |                     self.generate_expr_and_convert(else_expr, symbol_table);
[INFO] [stdout]      |                                                    ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:878:59
[INFO] [stdout]     |
[INFO] [stdout] 878 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `left` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:819:21
[INFO] [stdout]     |
[INFO] [stdout] 819 |                 let left = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1190:56
[INFO] [stdout]      |
[INFO] [stdout] 1190 |                 let v = self.generate_expr_and_convert(then_expr, symbol_table);
[INFO] [stdout]      |                                                        ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:879:60
[INFO] [stdout]     |
[INFO] [stdout] 879 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `right` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:835:21
[INFO] [stdout]     |
[INFO] [stdout] 835 |                 let right = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1200:56
[INFO] [stdout]      |
[INFO] [stdout] 1200 |                 let v = self.generate_expr_and_convert(else_expr, symbol_table);
[INFO] [stdout]      |                                                        ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:895:60
[INFO] [stdout]     |
[INFO] [stdout] 895 |                 let inner = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]     |                                                            ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1243:32
[INFO] [stdout]      |
[INFO] [stdout] 1243 |                 let inner_ty = left.ty.refed_ptr_ty().unwrap();
[INFO] [stdout]      |                                ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:921:58
[INFO] [stdout]     |
[INFO] [stdout] 921 |                 let ptr = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]     |                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]    --> src/mir/mir_gen.rs:895:21
[INFO] [stdout]     |
[INFO] [stdout] 895 |                 let inner = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1246:58
[INFO] [stdout]      |
[INFO] [stdout] 1246 |                 let ptr = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]      |                                                          ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:926:44
[INFO] [stdout]     |
[INFO] [stdout] 926 |                 let v = self.generate_expr(inner, symbol_table);
[INFO] [stdout]     |                                            ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1247:58
[INFO] [stdout]      |
[INFO] [stdout] 1247 |                 let idx = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]      |                                                          ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]    --> src/mir/mir_gen.rs:962:48
[INFO] [stdout]     |
[INFO] [stdout] 962 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]     |                                                ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1281:94
[INFO] [stdout]      |
[INFO] [stdout] 1281 | ...   let struct_name = if let ast::Type::Struct(name) | ast::Type::Union(name) = &inner.ty { name } else { unreachable!() };
[INFO] [stdout]      |                                                                                    ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1029:36
[INFO] [stdout]      |
[INFO] [stdout] 1029 |                 let inner_ptr_ty = inner.ty.refed_ptr_ty().cloned();
[INFO] [stdout]      |                                    ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:962:21
[INFO] [stdout]      |
[INFO] [stdout]  962 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1286:48
[INFO] [stdout]      |
[INFO] [stdout] 1286 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                                                ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1031:44
[INFO] [stdout]      |
[INFO] [stdout] 1031 |                 let dst = self.gen_tmp_var(inner.ty.clone(), symbol_table);
[INFO] [stdout]      |                                            ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:962:21
[INFO] [stdout]      |
[INFO] [stdout]  962 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1313:142
[INFO] [stdout]      |
[INFO] [stdout] 1313 | ...t(name)) | ast::Type::Pointer(box ast::Type::Union(name)) = &inner.ty { name } else { unreachable!() };
[INFO] [stdout]      |                                                                 ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:1286:21
[INFO] [stdout]      |
[INFO] [stdout] 1286 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `name` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1313:153
[INFO] [stdout]      |
[INFO] [stdout] 1313 | ...ointer(box ast::Type::Union(name)) = &inner.ty { name } else { unreachable!() };
[INFO] [stdout]      |                                                     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1033:48
[INFO] [stdout]      |
[INFO] [stdout] 1033 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                                                ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:962:21
[INFO] [stdout]      |
[INFO] [stdout]  962 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1141:58
[INFO] [stdout]      |
[INFO] [stdout] 1141 |                 let src = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]      |                                                          ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:1033:21
[INFO] [stdout]      |
[INFO] [stdout] 1033 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1318:60
[INFO] [stdout]      |
[INFO] [stdout] 1318 |                 let inner = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]      |                                                            ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `init` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1334:56
[INFO] [stdout]      |
[INFO] [stdout] 1334 |                 self.generate_initializer(dst.clone(), init, ty, symbol_table);
[INFO] [stdout]      |                                                        ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1154:31
[INFO] [stdout]      |
[INFO] [stdout] 1154 |                 let is_void = then_expr.ty.is_void();
[INFO] [stdout]      |                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `cond` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1156:59
[INFO] [stdout]      |
[INFO] [stdout] 1156 |                 let cond = self.generate_expr_and_convert(cond, symbol_table);
[INFO] [stdout]      |                                                           ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1175:52
[INFO] [stdout]      |
[INFO] [stdout] 1175 |                     self.generate_expr_and_convert(then_expr, symbol_table);
[INFO] [stdout]      |                                                    ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1181:52
[INFO] [stdout]      |
[INFO] [stdout] 1181 |                     self.generate_expr_and_convert(else_expr, symbol_table);
[INFO] [stdout]      |                                                    ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `then_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1190:56
[INFO] [stdout]      |
[INFO] [stdout] 1190 |                 let v = self.generate_expr_and_convert(then_expr, symbol_table);
[INFO] [stdout]      |                                                        ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `else_expr` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1200:56
[INFO] [stdout]      |
[INFO] [stdout] 1200 |                 let v = self.generate_expr_and_convert(else_expr, symbol_table);
[INFO] [stdout]      |                                                        ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1243:32
[INFO] [stdout]      |
[INFO] [stdout] 1243 |                 let inner_ty = left.ty.refed_ptr_ty().unwrap();
[INFO] [stdout]      |                                ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `left` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1246:58
[INFO] [stdout]      |
[INFO] [stdout] 1246 |                 let ptr = self.generate_expr_and_convert(left, symbol_table);
[INFO] [stdout]      |                                                          ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `right` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1247:58
[INFO] [stdout]      |
[INFO] [stdout] 1247 |                 let idx = self.generate_expr_and_convert(right, symbol_table);
[INFO] [stdout]      |                                                          ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1281:94
[INFO] [stdout]      |
[INFO] [stdout] 1281 | ...   let struct_name = if let ast::Type::Struct(name) | ast::Type::Union(name) = &inner.ty { name } else { unreachable!() };
[INFO] [stdout]      |                                                                                    ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1286:48
[INFO] [stdout]      |
[INFO] [stdout] 1286 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                                                ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1313:142
[INFO] [stdout]      |
[INFO] [stdout] 1313 | ...t(name)) | ast::Type::Pointer(box ast::Type::Union(name)) = &inner.ty { name } else { unreachable!() };
[INFO] [stdout]      |                                                                 ^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: the binding `inner` is available in a different scope in the same function
[INFO] [stdout]     --> src/mir/mir_gen.rs:1286:21
[INFO] [stdout]      |
[INFO] [stdout] 1286 |                 let inner = self.generate_expr(inner, symbol_table);
[INFO] [stdout]      |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `name` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1313:153
[INFO] [stdout]      |
[INFO] [stdout] 1313 | ...ointer(box ast::Type::Union(name)) = &inner.ty { name } else { unreachable!() };
[INFO] [stdout]      |                                                     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `inner` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1318:60
[INFO] [stdout]      |
[INFO] [stdout] 1318 |                 let inner = self.generate_expr_and_convert(inner, symbol_table);
[INFO] [stdout]      |                                                            ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `init` in this scope
[INFO] [stdout]     --> src/mir/mir_gen.rs:1334:56
[INFO] [stdout]      |
[INFO] [stdout] 1334 |                 self.generate_initializer(dst.clone(), init, ty, symbol_table);
[INFO] [stdout]      |                                                        ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/mir/mir_gen.rs:1282:57
[INFO] [stdout]      |
[INFO] [stdout] 1282 |                 let entry = self.type_table.entries.get(struct_name).unwrap();
[INFO] [stdout]      |                                                     --- ^^^^^^^^^^^ expected `&_`, found `Rc<String>`
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     arguments to this method are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected reference `&_`
[INFO] [stdout]                    found struct `Rc<String>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]     --> /rustc/f4690f24e7d9bcb0b168a02b06dd61391e8bd55a/library/std/src/collections/hash/map.rs:1035:11
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]      |
[INFO] [stdout] 1282 |                 let entry = self.type_table.entries.get(&struct_name).unwrap();
[INFO] [stdout]      |                                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/mir/mir_gen.rs:1282:57
[INFO] [stdout]      |
[INFO] [stdout] 1282 |                 let entry = self.type_table.entries.get(struct_name).unwrap();
[INFO] [stdout]      |                                                     --- ^^^^^^^^^^^ expected `&_`, found `Rc<String>`
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     arguments to this method are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected reference `&_`
[INFO] [stdout]                    found struct `Rc<String>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]     --> /rustc/f4690f24e7d9bcb0b168a02b06dd61391e8bd55a/library/std/src/collections/hash/map.rs:1035:11
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]      |
[INFO] [stdout] 1282 |                 let entry = self.type_table.entries.get(&struct_name).unwrap();
[INFO] [stdout]      |                                                         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0425, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `c_to_urcl` (bin "c_to_urcl") due to 153 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0308, E0425, E0557.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `c_to_urcl` (bin "c_to_urcl" test) due to 153 previous errors
[INFO] running `Command { std: "docker" "inspect" "80f0c2fceb133dc5bd14720880112f8d543756841d8505cf74471bc4b8232ef4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80f0c2fceb133dc5bd14720880112f8d543756841d8505cf74471bc4b8232ef4", kill_on_drop: false }`
[INFO] [stdout] 80f0c2fceb133dc5bd14720880112f8d543756841d8505cf74471bc4b8232ef4
